﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Collections;
using IBatisNet.DataMapper;
using TumbaloSoft.Helpers.QueryObjects;
using TumbaloSoft.Models;

namespace TumbaloSoft.Helpers
{
    public class HelperInmueble
    {
        public static int insert(TumbaloSoft.Models.Inmueble inmueble)
        {
            Mapper.Instance().Insert("InmuebleInsert", inmueble);
            return 0;
        }
        public static void update(TumbaloSoft.Models.Inmueble inmueble)
        {
            Mapper.Instance().Update("InmuebleUpdate", inmueble);
        }
        public static void delete(TumbaloSoft.Models.Inmueble inmueble)
        {
            Mapper.Instance().Update("InmuebleDelete", inmueble);
        }
        static public IList selectAll()
        {
            return Mapper.Instance().QueryForList("InmuebleSelectAll", null);
        }
        static public Inmueble selectById(int id)
        {
		   IList inmuebles = Mapper.Instance().QueryForList("InmuebleSelectById", id);
		   if (inmuebles.Count == 0) return null;
		   Inmueble inmueble = (Inmueble)(inmuebles[0]);
		   return inmueble;
        }
        static public int SiguienteCodigo()
        {
            return (int)Mapper.Instance().QueryForObject("InmuebleSiguienteCodigo",null);

        }

        public static int selectMaxCodigo()
        {
            return (int)Mapper.Instance().QueryForObject("InmuebleSelectMaxCodigo", null);
        }

	    public static IList buscar(BusquedaInmueble InmuebleBuscar)
        {			
            return Mapper.Instance().QueryForList("InmuebleBuscar", InmuebleBuscar);
        }
     
	    public static IList buscarCatalogo(BusquedaInmueble InmuebleBuscar)
	    {
		    return Mapper.Instance().QueryForList("InmuebleBuscarCatalogo", InmuebleBuscar);
	    }
	    public static int selectCountActivosCatalogo( )
	    {
		    return (int)Mapper.Instance().QueryForObject("InmuebleSelectCountActivosCatalogo", null);
	    }
	    public static int selectCountActivos()
	    {
		    return (int)Mapper.Instance().QueryForObject("InmuebleSelectCountActivos", null);
	    }

        public static IList buscarParaAprobar(BusquedaInmueble InmuebleBuscar)
        {
            return Mapper.Instance().QueryForList("InmuebleBuscarParaAprobar", InmuebleBuscar);
        }
        public static int selectCountAprobar()
        {
            return (int)Mapper.Instance().QueryForObject("InmuebleSelectCountAprobar", null);
        }

    }
}